package caip2024p.rcv7;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
    	//输入优化
        BufferedReader read = new BufferedReader(new InputStreamReader(System.in));

        // 输入 n
        int n = Integer.parseInt(read.readLine());
        Set<String> st = new HashSet<>(); // 用于存储第一组字符串
        Map<String, Integer> mp = new HashMap<>(); // 用于统计出现次数
        int cnt = 0; // 统计匹配的次数
        String res = ""; // 存储匹配结果
        String u = ""; // 存储出现次数最多的字符串
        int c = 0; // 存储最大出现次数

        // 输入第一组字符串并存入集合
        for (int i = 0; i < n; i++) {
            String s = read.readLine();
            st.add(s);
        }

        // 输入 m
        int m = Integer.parseInt(read.readLine());

        // 输入第二组字符串并处理
        for (int i = 0; i < m; i++) {
            String s = read.readLine();
            if (st.contains(s)) {
                cnt++;
                res += "1";
                mp.put(s, mp.getOrDefault(s, 0) + 1); // 更新统计次数
            } else {
                res += "0";
            }
        }

        // 找到出现次数最多的字符串
        for (Map.Entry<String, Integer> entry : mp.entrySet()) {
            if (entry.getValue() > c) {
                c = entry.getValue();
                u = entry.getKey();
            }
        }

        // 输出结果
        System.out.println(res);
        double x = cnt * 100.0 / m; // 计算百分比
        System.out.printf("%.2f\n", x); // 格式化输出百分比
        System.out.println(u); // 输出出现次数最多的字符串

        // 关闭 Scanner
        read.close();
    }
}
